﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace pos_trab_3
{
    public class Candidato : IComparable<Candidato>
    {
        private string nome;
        private DateTime dataNascimento;
        private decimal notaFinal;
        private List<PerguntaRespondida> perguntasRespondidas;

        public Candidato()
        {

        }

        public string Nome
        {
            get { return nome; }
            set { nome = value; }
        }

        public DateTime DataNascimento
        {
            get { return dataNascimento; }
            set { dataNascimento = value; }
        }

        public List<PerguntaRespondida> PerguntasRespondidas
        {
            get { return perguntasRespondidas; }
            set { perguntasRespondidas = value; }
        }

        public virtual decimal NotaFinal
        {
            get { return notaFinal; }
            set { notaFinal = value; }
        }

        public Candidato(string nome, DateTime dataNascimento)
        {
            this.nome = nome;
            this.dataNascimento = dataNascimento;
        }

        public virtual decimal CalcularNotaFinal()
        {
            foreach (PerguntaRespondida perguntaRespondida in this.PerguntasRespondidas) 
            {
                this.NotaFinal = this.NotaFinal + perguntaRespondida.obterValor();
            }
            return this.NotaFinal;
        }


        public int CompareTo(Candidato other)
        {
            return this.NotaFinal.CompareTo(other.NotaFinal);
        }
    }
}
